home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / sound / rukq10.zip / RUCKDAC.BI < prev    next >
Text File  |  1993-02-15  |  13KB  |  292 lines

  1. 'RUCKDAC.BI 10-Jan-93 BETA 0.50 ------------------
  2. 'BETA NOT FOR PUBLIC RELEASE
  3. 'Do not distribute this release
  4. 'Do not create programs for distribution with this release
  5.  
  6. DECLARE FUNCTION RUCKDAC% (SEG packinfo AS ANY)
  7.  
  8. CONST SysInfoDac = 0, InitDac = 1, ExitDac = 2, AtExitDac = 3
  9. CONST LoadDac = 4, PlayDac = 5, RecordDac = 6
  10. CONST StoreDac = 7, EndDac = 8, PauseDac = 9
  11. CONST DeallocDac = 10
  12.  
  13. CONST SetAllDac = 20, SetVolumeDac = 21, SetIntRateDac = 22, SetPriorityDac = 23
  14. CONST GetBufferDataDac = 28, GetBytePosDac = 29
  15.  
  16. CONST SetAllSBP = 30, SetVolMainSBP = 31, SetVolVocSBP = 32
  17. CONST SetLevelMicSBP = 33, SetLevelCDSBP = 34, SetLevelLineSBP = 35
  18. CONST SetFilterOutSBP = 36, SetFilterInSBP = 37
  19. CONST SetSourceSBP = 38, SetStereoSBP = 39
  20.  
  21. CONST SetSpeakerSB = 40
  22. CONST GetMixerRegSBP = 48, GetDacSB = 49
  23.  
  24. CONST ExitMod = 50, AtExitMod = 51
  25. CONST LoadMod = 52, PlayMod = 53
  26. CONST EndMod = 54, PauseMod = 55
  27. CONST SetIntRateMod = 56, SetSpeedMod = 57
  28. CONST SetVolumeMod = 58, SetPositionMod = 59
  29. CONST SetStereoMod = 60, SetFastMod = 61
  30.  
  31. TYPE DeallocPackTYPE            'DP
  32.  Func       AS INTEGER
  33.  stat       AS INTEGER
  34.  HandSeg    AS INTEGER          'RUCKUS allocates either XMM handle or DOS para
  35.  TypeFlag   AS INTEGER          '0=DOS para, 1=XMS handle
  36. END TYPE '8
  37.  
  38. TYPE GetDataPackTYPE            'GDP
  39.  Func       AS INTEGER
  40.  stat       AS INTEGER
  41.  BytePos    AS LONG             'current byte relative base ptr (27)
  42.  BufferPtrOff AS INTEGER        'far pointer to buffer to fill with data,offset
  43.  BufferPtrSeg AS INTEGER        'segment
  44.  StartPos   AS LONG             'start get at this offset relative BufferPtr
  45.  BufferCnt  AS INTEGER          'bytes to fill (2-65520)
  46.  MixerReg   AS INTEGER          'SBPro mixer register to get
  47. END TYPE '20
  48.  
  49. TYPE InitPackTYPE               'IP
  50.  Func       AS INTEGER
  51.  stat       AS INTEGER
  52.  DeviceID   AS INTEGER          '0=SPKR,1=LPTDAC,2=DSS,4=SB,5=SBPro
  53.  IOport     AS INTEGER
  54.  IRQline    AS INTEGER
  55.  DMAch      AS INTEGER
  56.  Flags      AS INTEGER          '(see source)
  57.  InfoPtrOff AS INTEGER          'ret:far ptr to dac info
  58.  InfoPtrSeg AS INTEGER
  59.  DacExitPtrOff AS INTEGER       'ret:far ptr to dac's ExitXB routine
  60.  DacExitPtrSeg AS INTEGER
  61.  ModExitPtrOff AS INTEGER       'ret:far ptr to mod's ExitXB routine
  62.  ModExitPtrSeg AS INTEGER
  63. END TYPE '24
  64.  
  65. TYPE LoadPackTYPE               'LP
  66.  Func       AS INTEGER
  67.  stat       AS INTEGER
  68.  FilenamePtrOff AS INTEGER      'far ptr to filenameZ to load
  69.  FilenamePtrSeg AS INTEGER
  70.  StartPos   AS LONG             'offset into file to start load at
  71.  LoadSize   AS LONG             'number of bytes to load (or 0 for autosize)
  72.  XMMflag    AS INTEGER          'if <> 0 use XMS for load
  73.  XMMhandle  AS INTEGER          'ret:XMS handle, or
  74.  LoadPtrOff AS INTEGER          'ret:DOS seg:offset (offset always 0)
  75.  LoadPtrSeg AS INTEGER
  76. END TYPE '20
  77.  
  78. TYPE PlaybackPackTYPE           'PBP
  79.  Func       AS INTEGER
  80.  stat       AS INTEGER
  81.  Mode       AS INTEGER          'playback mode (0=interrupt FG,1=BG,2=DMA,3=DMA+BG for mod)
  82.  XMMhandle  AS INTEGER          'if <> 0 this XMM handle used regardless
  83.  LoadPtrOff AS INTEGER          'seg:off to start of data to play
  84.  LoadPtrSeg AS INTEGER
  85.  BufferSize AS INTEGER          'size of DMA buffer for mod playback
  86. END TYPE '14
  87.  
  88. TYPE PausePackTYPE              'PP
  89.  Func       AS INTEGER
  90.  stat       AS INTEGER
  91.  Pause      AS INTEGER          '0=unpause else pause
  92. END TYPE '6
  93.  
  94. TYPE RecordPackTYPE             'RP
  95.  Func         AS INTEGER
  96.  stat         AS INTEGER
  97.  SampleRate   AS INTEGER
  98.  XMMhandle    AS INTEGER        '-1 auto XMS (ret in dx) else use this handle
  99.  RecordPtrOff AS INTEGER        'seg:off of buffer to store (0 for auto-store)
  100.  RecordPtrSeg AS INTEGER
  101.  RecordBytes  AS LONG           'bytes to record
  102.  StereoFlag   AS INTEGER        'stereo flag
  103. END TYPE '18
  104.  
  105. TYPE SaveDataPackTYPE           'SDP
  106.  Func       AS INTEGER
  107.  stat       AS INTEGER
  108.  FilenamePtrOff AS INTEGER      'far ptr to filenameZ to save
  109.  FilenamePtrSeg AS INTEGER
  110.  DataPtrOff AS INTEGER          'pointer to start of data to save, offset
  111.  DataPtrSeg AS INTEGER          'segment (or 0 if XMS)
  112.  FileType   AS INTEGER          '1=VOC,2=WAV
  113.  XMMhandle  AS INTEGER          'XMS handle of data to save (0 if DOS data)
  114. END TYPE '16
  115.  
  116. TYPE SetPackTYPE                'SP
  117.  Func       AS INTEGER
  118.  stat       AS INTEGER          ' (if volume=0 SB speaker off'ed else on'ed)
  119.  Volume     AS INTEGER          'volume (left ch=MSB,right=LSB) (0-127,0-127)
  120.  IntRate    AS INTEGER          'playback interrupt rate (5000-23000)
  121.  Priority   AS INTEGER          'priority level (0-2, default=1)
  122. END TYPE '18
  123.  
  124. TYPE SetModPackTYPE             'SMP                    'stereo modes
  125.  Func       AS INTEGER                                  'A=ch1+ch3 & ch2+ch4
  126.  stat       AS INTEGER                                  'B=?
  127.  VolCh1     AS INTEGER          'channel volume (0-255) 'C=?
  128.  VolCh2     AS INTEGER          'channel volumes adjustments made only
  129.  VolCh3     AS INTEGER          ' if FastMode=0
  130.  VolCh4     AS INTEGER
  131.  Stereo     AS INTEGER          'playback mode (0=mono,stereo 1=A,2=B,3=C)
  132.  FastMode   AS INTEGER          'fast playback (0=normal,1 fast,no ch volumes)
  133.  IntRate    AS INTEGER          'playback interrupt rate (5000-45500)
  134.  Position   AS INTEGER          'pattern list position (0-patterns to play)
  135.  Speed      AS INTEGER          'overall playback speed (1-15,default=6,15=slow)
  136.  SliceAdj   AS INTEGER          'slice adjust (1-64,default=1)
  137. END TYPE '24
  138.  
  139. TYPE SetProPackTYPE             'SPP
  140.  Func       AS INTEGER
  141.  stat       AS INTEGER
  142.  Volume     AS INTEGER          'volume (low=right;0-15, high byte=left;0-15)
  143.  VolVoc     AS INTEGER          '
  144.  VolMic     AS INTEGER          '(mono only, 0-7) input level
  145.  VolCD      AS INTEGER          'input level (0-15,0-15)
  146.  VolLI      AS INTEGER          'input level (0-15,0-15)
  147.  FilterOut  AS INTEGER          '0=filter off, 1=filter on
  148.  FilterIn   AS INTEGER          '0=filter off, 1=3.2kHz, 2=8.8kHz
  149.  SourceIn   AS INTEGER          '0=mic,1=CD,2=line
  150.  StereoIn   AS INTEGER          '0=mono,1=stereo record
  151. END TYPE '22
  152.  
  153. TYPE XitPackTYPE                'XP
  154.  Func       AS INTEGER
  155.  stat       AS INTEGER
  156. END TYPE '4
  157.  
  158. TYPE SysInfoPackTYPE            'SIP
  159.  Func       AS INTEGER          '
  160.  stat       AS INTEGER
  161.  CPU        AS INTEGER          'CPU class (88,286,386,486)
  162.  CPUmode    AS INTEGER          '0=real mode,1=PM,2=PM w/paging
  163.  MHz        AS INTEGER          'approx speed (5,20,33)
  164.  Device0    AS INTEGER          '=1 speaker available
  165.  D0port     AS INTEGER          '42h
  166.  D0IRQ      AS INTEGER          'n/a
  167.  D0DMA      AS INTEGER          'n/a
  168.  D0flags    AS INTEGER          'bit4=MIDI/3=XMS/2=DMA/1=REC/0=PLAY
  169.  Device1    AS INTEGER          '=1 LPT-DAC available on LPT1
  170.  D1port     AS INTEGER          'port of _first_ LPT found in BIOS data area
  171.  D1IRQ      AS INTEGER          'n/a
  172.  D1DMA      AS INTEGER          'n/a
  173.  D1flags    AS INTEGER          'bit4=MIDI/3=XMS/2=DMA/1=REC/0=PLAY
  174.  Device2    AS INTEGER          '=1 Disney Sound Source available
  175.  D2port     AS INTEGER          'port of DSS
  176.  D2IRQ      AS INTEGER          'n/a
  177.  D2DMA      AS INTEGER          'n/a
  178.  D2flags    AS INTEGER          'bit4=MIDI/3=XMS/2=DMA/1=REC/0=PLAY
  179.  Device3    AS INTEGER          '=1 AdLib available
  180.  D3port     AS INTEGER          '388h
  181.  D3IRQ      AS INTEGER          'n/a
  182.  D3DMA      AS INTEGER          'n/a
  183.  D3flags    AS INTEGER          'bit4=MIDI/3=XMS/2=DMA/1=REC/0=PLAY
  184.  Device4    AS INTEGER          '=1 SB available
  185.  D4port     AS INTEGER          'port of SB
  186.  D4IRQ      AS INTEGER          'IRQ
  187.  D4DMA      AS INTEGER          'DMA
  188.  D4flags    AS INTEGER          'bit4=MIDI/3=XMS/2=DMA/1=REC/0=PLAY
  189.  Device5    AS INTEGER          '=1 SBPro available
  190.  D5port     AS INTEGER          'port of SBPro
  191.  D5IRQ      AS INTEGER          'IRQ
  192.  D5DMA      AS INTEGER          'DMA
  193.  D5flags    AS INTEGER          'bit4=MIDI/3=XMS/2=DMA/1=REC/0=PLAY
  194. END TYPE '70
  195.  
  196. TYPE SysDevTYPE                 'SD (used by